import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
/**
 * Clase Pulpo: Unicamente el Pulpo se movera 
 * por tota la pantalla dejando,
 * manchas de tinta, las cuales se eliminaran al ser 
 * tocadas por BalaPlancton.
 * 
 * @author Vianey Ortiz 
 * @version 05/12/2012
 */
public class Pulpo extends Enemigo
{
    private int mancha;
    private int cont=0;
    
    /**
     * Verifica si ya se encuentra en los limites de la pantalla
     * para mover la imagen al otro extremo, verifica si BalaPlancton 
     * ya redujo por completo su velocidad y controla el lanzamiento de las manchas.
     */
    public void act() 
    {
        move(8);
        checaLimiteIzq();
        checaLimiteDer();
        turn(8);           
        velocidadActual();
        if(velocidad()==0)
        {
            eliminaEnemigo();
        }
        else
        {
            WorldFish mundo;
            mundo=(WorldFish)super.getWorld();
            mancha=((mundo.getObjects(Tinta.class)).toArray()).length;
            if(((mundo.getObjects(Pulpo.class)).toArray()).length!=0&&hayPlancton()!=0&&mancha<4&&cont==0)
            {
                dejaMancha();
                cont++;
            }
            cont++;
            if(cont==10)
                cont=0;
        }
        turn(-10);
    }
    
    /**
     * Agrega una Mancha de tinta al mundo en 
     * las coordenadas actuales del pulpo.
     */
    public void dejaMancha()
    {
        WorldFish mundo;
        mundo=(WorldFish)super.getWorld();
        Tinta manch;
        manch= new Tinta();
        mundo.addObject(manch,getX(),getY());
    }
}
